home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Wonky Flux Batch 2019 02
/
Wonky_Flux_Batch_2019-02.zip
/
Wonky Flux Batch 2019-02
/
106 - Proboard KEY Floppy - Must be in Drive 1.dsk
/
SWORD2.SEGS.SHK
/
SWORDS.2.AUX.S
next >
Wrap
Text File
|
1989-01-26
|
18KB
|
461 lines
; _________________________________________________________________________
; [_ _]
; _] Swords & Sorcery II -- The Journey Goes Onward [_
; [_ _]
; _] by Rubber Duck, @1987 [_
; [______________________ ________________________]
; _] The ] DuckNet [ BBS [_
; [_ (405)-355-9678 _]
; _] 300/1200/2400 24hrs [_
; [_____________________________]
; NOTE: Swords & Sorcery II is NOT a Public Domain program. It is SHAREWARE.
; You may copy and distribute S&S II freely, as long as you leave this
; notice intact. The ShareWare fee for S&S II is --> $0.00 <--, but I
; do require that you register your copy. Send a postcard with your
; name, your handle/alias (if any), your BBS name, phone number, baud,
; hours, version of ACOS, whether or not you have the original Swords
; and Sorcery on your system, and any comments/suggestions/questions.
; Send this to: Rubber Duck, 4812 NE Winfield Cir, Lawton, OK, 73507.
; At last, lovers of might and magic, the sequel to Swords & Sorcery. S&S II
; provides an expanded and enhanced world for S&S players. Many more options,
; much more detail and character individuality are here. S&S II also supports
; the one-key options that are now the GBBS standard with version 1.3.
; NOTES ABOUT THIS VERSION: Swords & Sorcery II v2.0 (SWORD2.V2.0.BNY)
; This is the first OFFICIAL RELEASE version of S&S II. This is NOT A BETA-
; TEST version, it is a COMPLETE game with an ULTIMATE GOAL. Hopefully this
; is the first and LAST version of this program I'll have to put out. I hate
; those nasty, creepy, crawly BUGS!
; Thanks to Everyone who registered their Beta-Test copies of S&S II
; Special Thanks to /steve schneider of The RainForest BBS for playtesting,
; betatesting, debugging, putting up with hassle and writing fixes. Steve,
; your assistance and support are both priceless. . . thanks.
; To install Swords & Sorcery II on your system:
; 1) Copy the files SWORDS.2.MAIN.S, SWORDS.2.AUX.S and SWORDS.2.AUX2.S to
; your A2: drivespec.
; 2) Add this line to your system:
; if i$="S2" then link "a2:swords.2.main"
; 3) Change the link.back routine to suit your system.
; 4) S&S II writes three files, S2.LOG, S2.LAST.PLAYER, and S2.WINNERS to
; the b4: drivespec. Change this to suit your system.
; 5) You are ready to go!
; Swords & Sorcery II - Auxillary Seg 1
; Professional BBS Custom Edition version 2.0jpe 01/19/89
public towne
link.back
link "a2:swords.2.main","return"
link.term
recall "h:var"
link "a:main.seg","term1"
link.dead
link "a2:swords.2.main","dead"
towne
on nocar goto link.term
gosub random:tt=x+1:i1=0:i2=0:pt$="":sm=0
if tt=1 tn$="the Towne of Nyrond":t1$="Gorgomir's Inn":t3$="The One-Eyed Orc"
if tt=1 t2$="Gorgomir":t4$="Hermelond":t5$="Gar Tynnard"
if tt=2 tn$="the Towne of Slyph":t1$="The Woodland Inn":t3$="The Unicorn"
if tt=2 t2$="Swarthy the Elf":t4$="Mwarthy the Elf":t5$="Dwarthy the Elf"
if tt=3 tn$="the Keep of Silvast":t1$="The Traveler's Inn":t3$="Tyree's Pub"
if tt=3 t2$="Justinian Bates":t4$="Tyree":t5$="Uliop"
if tt=4 tn$="the Village of Wermlet":t1$="Igor's Inn":t3$="The Wermlet Bar"
if tt=4 t2$="Igor":t4$="Rubby the Barkeep":t5$="Herman"
if tt=5 tn$="the Towne of Kilgore":t1$="The Blue Inn":t3$="The Towne Tavern"
if tt=5 t2$="Mr. Blue":t4$="The Bartender":t5$="Captain Marxi"
if tt=6 tn$="the City of Orr":t1$="Remular's Hotel":t3$="The Orr City Tavern"
if tt=6 t2$="Remular":t4$="Malone":t5$="Smithson"
if tt=7 tn$="the Towne of Bisselford":t1$="Bisselford Manor":t3$="The Goblet"
if tt=7 t2$="Swag Mulley":t4$="Chursever the Dwarf":t5$="El Swordo"
if tt=8 tn$="Brandywine Province":t1$="Merry's Inn":t3$="The Drunken Goblin"
if tt=8 t2$="Merry":t4$="Samwise the Barkeep":t5$="Frakir"
if tt=9 tn$="the Keep of Montor":t1$="Montor Motel":t3$="The Overflowing Cup"
if tt=9 t2$="Calwin":t4$="Mericus":t5$="Kor Mymidon"
if tt=10 tn$="Swordclash Keep":t1$="Vicious Inn":t3$="Grimthroat's Bar & Pub"
if tt=10 t2$="Sid Vicious":t4$="Grimthroat the Orc":t5$="Slashknife"
print \"Welcome to ";tn$;"!!"
goto towne2.1
towne1
print \"Places to Visit in "tn$":"
print \" W)eaponsmith"
print " T)avern"
print " R)est at the Inn"
if (tt mod 2)=0 print " S)hieldmaker"
if (tt mod 3)=0 print " A)lchemist"
if (tt mod 3)=1 print " M)agic Shoppe"
if (tt mod 3)=2 print " H)ealer"
print " I)nventory "
print " E)xit "
towne2
print \"You are in "tn$"."
towne2.1
free:print \"Where do you go? ";:get i$
if instr(i$,"eqwtirsham")<>0 then print chr$(8);i$;
if i$="?" or i$="/" then print chr$(8);"Menu"\:goto towne1
if i$="" or i$=chr$(13) then i$="<CR>"
if i$="w" or i$="W" print "eaponsmith":goto weapon
if i$="t" or i$="T" print "avern":goto tavern
if i$="r" or i$="R" print "est at the Inn":goto inn
if i$="e" or i$="E" print "xit":goto exit.towne
if i$="q" or i$="Q" print "uit":goto exit.towne
if i$="i" or i$="I" print "nventory":gosub inventory:goto towne2
if (tt mod 2)=0 then if i$="S" print "hieldmaker":goto shield
if (tt mod 3)=0 then if i$="A" print "lchemist":goto alchemist
if (tt mod 3)=1 then if i$="M" print "agic Shoppe":goto magic
if (tt mod 3)=2 then if i$="H" print "ealer":goto healer
print \\"Sorry, "chr$(34);i$;chr$(34)" is not a command.":goto towne2
weapon
print \"Welcome to the Weaponsmith's!"
print \t5$" says: 'What is your interest?'"
print \" 1) Silver Dagger 10 gold"
print " 2) Iron Mace 20 gold"
print " 3) Steel Sword 30 gold"
print " 4) Platinum Battleaxe 40 gold"
print "(Your current weapon: ";
if (wp) print wp$;")":else print "Bare Hands)"
weapon1
print \"Which? ";:get i$:x=val(i$):wf$=""
if x=1 wf$="Silver Dagger":wf=3
if x=2 wf$="Iron Mace":wf=4
if x=3 wf$="Steel Sword":wf=5
if x=4 wf$="Platinum Battleaxe":wf=6
if (x=5) and (tt=8) then wf$="Enchanted Sword":wf=7
if wf$="" print chr$(8);"None":else print chr$(8);wf$
if wf$="" print \"Okay. Thanks for stopping by!":goto towne2
if (x*10)>gp print "Sorry, friend, but you haven't enough gold!":goto weapon1
print \t5$" says, 'Good choice! There"
print "isn't a finer "wf$" to be"
print "had and it's only "x*10" gold!'"
print \"Will you buy it? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"Oh well, maybe another time.":goto weapon1
gp=gp-(x*10):wp$=wf$:wp=wf:print \"May it serve you well!":goto towne2
tavern
gosub random:y=x+4:y=y/2:y=y+1
print \"Welcome to "t3$"!!"
print \t4$" says, 'Drinks are "y" gold."
print " Can I get you one, friend?' ";:get i$
tavern0
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if (i$<>"Y") and (tt=10) print \"Then get out, scum!":goto towne2
if i$<>"Y" print \"Well, have a nice day!":goto towne2
tavern1
input @1 \"You pay how much: " i$:x=val(i$)
if x>gp print \"You only have "gp" gold!":goto tavern1
if (x<y) and (tt=10) goto grimthroat
if x<y print \"Get out of here!":goto towne2
gp=gp-x:gosub random:x=x+1
if x=1 print "Thy strength will aid ye much in battle!"
if x=2 print "Thy psyche shall limit thy magicks!"
if x=3 print "If thou are lucky, many dangers wilt thou avoid!"
if x=4 print "The magicked blade dost strike the deadliest blow!"
if x=5 print "Frakir the Weaponsmith sells #5 Enchanted Swords!"
if (x=6) and (tt<>10) print "Don't shortchange Grimthroat! He's mean!"
if (x=6) and (tt=10) print "I HATE a cheap adventurer!"
if x=7 print "There be a fair princess in the Dark Tower"
if x=8 print "The King is actually the Evil One!"
if x=9 print "You must slay the Evil One to fulfill your quest!"
if x=10 print "You can fulfill your quest by <A>ttacking the Evil One!"
print \t4$" says, 'Another drink?' ";:get i$:goto tavern0
grimthroat
mn$="Grimthroat the Orc":mp=16:mx=16:md=6
print \"What?? Try to shortchange me, eh? Scum!! I'll kill you!"
gosub battle:goto towne2
inn
if i1=1 print \"You've already spent the night here.":goto towne2
print \"Welcome to "t1$","\"the best lodging in "tn$"!!"
if i2=1 then goto inn.2:else i2=1
gosub random:y=x:gosub random:y=y+x:y=y+5:if y>20 then y=20
inn.2
print \t2$" says, 'A room for the night is only "y" gold.'"
print \"Do you take it? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"Okay. Farewell!":goto towne2
if y>gp print \"Why, you haven't enough gold! Out, beggar!":goto towne2
gp=gp-y:print \"Sleep well, sir.":i1=1
print \"Night falls....":for x=1 to 1000:next
st=st+1:if st=11 then st=10
ps=ps+1:if ps=11 then ps=10
hp=hp+2:if hp>30 then hp=30
print \"You awake feeling refreshed and invigorated.":goto towne2
shield
print \"Welcome to the Shieldmaker's!"
print \"The Shieldmaker says, "
if sh<>0 print " 'I see you have that "sh$" already.'"
if sm<>0 goto shield.1
gosub random:sm=x:gosub random:sm=sm+x:sm=sm+10
gosub random:sf=x mod 2:sf=sf+1
if sf=1 sf$="Good Shield":else sf$="Excellent Shield"
shield.1
print " 'I have this "sf$" for only "sm" gold.'"
print \"Do you want it? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"Well, leave then!":goto towne2
if sm>gp print \"I'm sorry, but you don't have enough gold!":goto towne2
gp=gp-sm:sh=sf:sh$=sf$:print \"There! May it serve you well.":goto towne2
alchemist
print \"Welcome to the Alchemy Shoppe!":gosub random:x=x+10
if (po=0) or (po$<>"Unidentified Potion") goto alchem.1
print \"I see you have an unknown elixir! I can Identify it for you,"
print "but it will cost you "x" gold."
if x>gp print \"I see you can't afford my services...good day!":goto towne2
print \"Do you want my services? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" then print "Well, good day, then.":goto towne2
gp=gp-x
if po=1 po$="Potion of Healing"
if po=2 po$="Bottle of Poison"
if po=3 po$="Potion of Power"
if po=4 po$="Potion of Intelligence"
if po=5 po$="Potion of Feebleness"
if po=6 po$="Potion of Idiocy"
print \"Ah, let me see...yes! What you've got there is a "po$"!!"
print \"Thanks for stopping by, friend. Have a nice day!":goto towne2
alchem.1
if po<>0 print \"I see you've already got a potion."
if pt$<>"" goto alchem.2
pickpotion
x$=rnd$:x=random(105):pt=x mod 6:pt=pt+1:if pt=po goto pickpotion
if pt=1 pt$="Potion of Healing"
if pt=2 pt$="Bottle of Poison"
if pt=3 pt$="Potion of Power"
if pt=4 pt$="Potion of Intelligence"
if pt=5 pt$="Potion of Feebleness"
if pt=6 pt$="Potion of Idiocy"
gosub random:pp=x:gosub random:pp=pp+x:pp=pp+10
alchem.2
if po<>0 print \"I'll trade you for this "pt$".":pp=0
if po=0 print \"I will sell you a "pt$" for "pp" gold."
print \"Do you agree to this? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"Too bad, I'm the only dealer in towne!":goto towne2
if pp>gp print \"Sorry, but you can't afford it. Bye!":goto towne2
gp=gp-pp:po=pt:po$=pt$:print \"It's a deal! So long, friend.":goto towne2
magic
print \"Welcome to the Magic Shoppe!"
setint(" ")
print '
We have the following spells...
1) Healing 10 gold
2) Strength 15 gold
3) Psyche 15 gold
4) Luck 25 gold
5) Teleport 25 gold
6) Fireball 20 gold'
setint("")
magic.0
print \"Your interest? ";:get i$:x=val(i$)
if ((x=0) or (x>6)) print chr$(8);"None"
if ((x=0) or (x>6)) print \"Well, maybe another time then.":goto towne2
if x=1 x$="Healing":y=10
if x=2 x$="Strength":y=15
if x=3 x$="Psyche":y=15
if x=4 x$="Luck":y=25
if x=5 x$="Teleport":y=25
if x=6 x$="Fireball":y=20
print chr$(8);x$
if y>gp print \"Sorry, but you cannot afford the "x$" spell!":goto magic.0
print \"Ahh, the mystical "x$" spell..."
magic.1
if s1=0 then s1=x:s1$=x$:gp=gp-y:goto magic.2
if s2=0 then s2=x:s2$=x$:gp=gp-y:goto magic.2
if s3=0 then s3=x:s3$=x$:gp=gp-y:goto magic.2
print \"You already know three spells!"
print \"Which shall you replace?"
print \"1) "s1$\"2) "s2$\"3) "s3$\"4) Don't buy the "x$" spell"
print \"Which? ";:get i$
if i$="1" then s1=0:print chr$(8);"Replace "s1$:goto magic.1
if i$="2" then s2=0:print chr$(8);"Replace "s2$:goto magic.1
if i$="3" then s3=0:print chr$(8);"Replace "s3$:goto magic.1
print chr$(8);"None"
print \"Alright. Happy casting!":goto towne2
magic.2
print \"The wizard clears your mind...."
print \"He chants the mystic words...."
print \"The "x$" spell is yours!":goto towne2
; *** healer
healer
print \"Welcome to the Holy Healer!"
if hp>=25 print \"Thou art healthy! Return only if ye are truly in need."
if hp>=25 goto towne2
y=30-hp:y=y*3
print \"Brave adventurer, we shall heal all thy wounds for a mere "y" gold."
print \"Wilt thou make this offering? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"Then leave this place at once!":goto towne2
if y>gp then y=gp:print \"You have only "y" gold. We will do what we can."
print \"Ahh....Ooohhh....Ummm.....":gp=gp-y:hp=hp+(y/3):if hp>30 hp=30
print \"The healing is complete. Fare thee well.":goto towne2
exit.towne
print \"You leave "tn$"."
goto link.back
; *** battle
battle
print \"The battle begins!":ba=1
print \"You and "mn$" circle for position!"
who.first
gosub random:x=x+(st/5)
if x<=5 gosub monstermove:gosub playermove:goto who.first
gosub playermove:gosub monstermove:goto who.first
battlexit
ba=0:return
playermove
print \"Your move! ";
player0
print "Your options are:"
print \" F)lee"
if (s1+s2+s3) print " C)ast a Spell"
if (po) print " D)rink a Potion"
print " A)ttack Enemy with ";
if (wp) print wp$:else print "Bare Hands"
print \"What do you do? ";:get i$
if i$="F" print chr$(8);"Flee"
if i$="C" print chr$(8);"Cast a Spell"
if i$="D" print chr$(8);"Drink a Potion"
if i$="A" print chr$(8);"Attack Enemy"
if ((i$="F") and (hp>10)) then xp=xp-3:if xp<1 xp=1
if i$="F" gosub flee:print "You manage to escape!":pop:goto battlexit
if i$="C" gosub cast.spell:goto endplayermove
if i$="D" gosub drink.potion:goto endplayermove
if i$<>"A" print \\"Sorry, ";chr$(34);i$;chr$(34);" is invalid."\:goto player0
gosub random:print \"You attack with your ";
if (wp) print wp$:else print "Bare Hands"
print:x=x+(st/3):if wp=5 then x=x+1
if x<=5 print "You missed!":goto endplayermove
gosub random:x=x/5:x=x+wp:x=x+(st/5)
if not(info(2)) tone (50,50):tone (50,50):else print chr$(7);
print "You hit him for "x" damage!!!"
if x>mp then mp=0:else mp=mp-x
endplayermove
if mp<1 then pop:print "You've finished "mn$" off!!!!"
if mp<1 then xp=xp+mx:print \"You find 30 bags of gold!"
if mp<1 then gp=gp+30:goto battlexit
print "He has "mp" hit points now...":return
monstermove
print \mn$" attacks!"
gosub random:x=x+(lu/5)
if x>5 print "He misses you!":return
print "A hit!! ";:if not(info(2)) tone (200,100):else print chr$(7);chr$(7);
y=5-x:x=random(100):x=x mod md:x=x+1:x=x+(y/2)
if sh>=x then x=1:else x=x-sh
if x>hp then hp=0:else hp=hp-x
if hp<1 print \\"You've had it!":pop:pop:goto link.dead
if x<=2 print "Only a flesh wound...":goto endmonst
if x<=4 print "The wound is not bad...":goto endmonst
print "A vicious attack!"
endmonst
print "You have "hp" hit points now...":return
flee
gosub random:if x<5 return
print \mn$" blocks your escape!!":pop:goto endplayermove
; *** inventory
inventory
print \'
Stats:
Strength: 'st' Psyche: 'ps' Luck: 'lu'
Hit Points: 'hp' Experience Points: 'xp'
Inventory:'
if (wp) print " "wp$
if (sh) print " "sh$
if (po) print " "po$
if (ky) print " Golden Key"
if (ln) print " Lantern"
if (s1) or (s2) or (s3) print " Spells:"
if (s1) print " "s1$
if (s2) print " "s2$
if (s3) print " "s3$
if (pr) or (wm) or (dr) print " Companions:"
if (pr) print " The Princess"
if (dr) print " The Dryad Guide"
if (wm=1) print " 1 woman"
if (wm>1) print " "wm" women"
if (gp=0) print " No gold"
if (gp=1) print " 1 bag of gold"
if (gp>1) print " "gp" bags of gold"
print:return
; *** potions & spells
drink.potion
if not(po) print \"You aren't carrying a Potion!":return
print \"You are carrying: "po$
print \"Drink it now? ";:get i$
if i$="Y" print chr$(8);"Yes":else print chr$(8);"No"
if i$<>"Y" print \"You return the Potion to your pack.":return
print \"Gulp...gulp...gulp...";
if (po=1) print "ahh! How refreshing!":hp=hp+10:if hp>30 hp=30
if (po=2) print "ugh! Blah! Poison!":if hp>10 hp=hp-10:else hp=1
if (po=3) print "umm! How invigorating!":st=st+2:if st>10 st=10
if (po=4) print "ooh! How enlightening!":ps=ps+2:if ps>10 ps=10
if (po=5) print "nnnuh! You feel weak!":if st>2 st=st-2:else st=1
if (po=6) print "duh? Duh? Yuk!":if ps>2 ps=ps-2:else ps=1
po$="":po=0:return
cast.spell
if not(s1+s2+s3) print \"You don't know any Spells!":return
print \"You may cast the following:"
if (s1) print "1) "s1$
if (s2) print "2) "s2$
if (s3) print "3) "s3$
print "4) Don't cast anything"
print \"Which shall you cast? ";:get i$
x=val(i$):if (x=0) or (x=4) goto cast.none
if (x=1) and not(s1) goto cast.none
if (x=2) and not(s2) goto cast.none
if (x=3) and not(s3) goto cast.none
if x=1 sc$=s1$:sc=s1:s1$="":s1=0
if x=2 sc$=s2$:sc=s2:s2$="":s2=0
if x=3 sc$=s3$:sc=s3:s3$="":s3=0
spell.effects
gosub random:x=x+(ps/2)
if x<=5 print \"Spell failed!":return
print \"Spell succeeded!"
if sc=1 print "You feel refreshed!":hp=hp+10:if hp>30 hp=30
if sc=2 print "You feel invigorated!":st=st+2:if st>10 st=10
if sc=3 print "You feel enlightened!":ps=ps+2:if ps>10 ps=10
if sc=4 print "You feel luckier!":lu=lu+2:if lu>10 lu=10
if sc=5 print "You are Teleported away!":if ba=1 then pop:pop:ba=0
if sc=5 goto towne2
if sc<>6 return
if (ba=0) print "Your Fireball shoots away, wasted!":return
print "Your Fireball hits the "mn$"!!":if mp>4 then mp=mp-5:else mp=0
return
cast.none
print chr$(8);"None":return
; seed random number generator and
; get a random number zero to nine
random
x$=rnd$:x=random(100):x=x mod 10:return